This patch fixes the following compilation error.
Since struct page_list_head is defined in mm.h, sched.h needs mm.h.
Other circular inclusions are sorted out.
> In file included from xen/include/asm-ia64/linux-xen/asm/smp.h:50,
> from xen/include/linux/smp.h:5,
> from xen/include/asm-ia64/linux/topology.h:33,
> from xen/include/asm-ia64/linux-xen/linux/gfp.h:6,
> from xen/include/asm/mm.h:11,
> from xen/include/xen/mm.h:90,
> from viosapic.c:35:
> xen/include/xen/sched.h:174: error: field page_list has incomplete
> type
> xen/include/xen/sched.h:175: error: field xenpage_list has
> incomplete type
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
#include <xen/init.h>
#include <xen/bitmap.h>
+#include <xen/errno.h>
#include <xen/kernel.h>
#include <xen/acpi.h>
#include <xen/mm.h>
#define __ARCH_IRQ_STAT 1
#define HARDIRQ_BITS 14
#include <linux/hardirq.h>
+#include <xen/sched.h>
#define local_softirq_pending() (local_cpu_data->softirq_pending)
#define SMP_IPI_REDIRECTION (1 << 1)
#ifdef XEN
-#include <xen/sched.h>
#define raw_smp_processor_id() (current->processor)
#else
#define raw_smp_processor_id() (current_thread_info()->cpu)
#include <xen/list.h>
#include <xen/spinlock.h>
#include <xen/perfc.h>
-#include <xen/sched.h>
#include <asm/processor.h>
#include <asm/atomic.h>
#ifndef __FLUSHTLB_H__
#define __FLUSHTLB_H__
-#include <xen/sched.h>
+struct vcpu;
+struct domain;
/* TLB flushes can be either local (current vcpu only) or domain wide (on
all vcpus).
#include <xen/xenoprof.h>
#include <xen/rcupdate.h>
#include <xen/irq.h>
+#include <xen/mm.h>
#ifdef CONFIG_COMPAT
#include <compat/vcpu.h>